[INFO] cloning repository https://github.com/atom/xray
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/atom/xray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatom%2Fxray", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatom%2Fxray'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cb6c5809f18c733f55b89ce202678c379a4cfc7b
[INFO] checking atom/xray against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatom%2Fxray" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/atom/xray on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/atom/xray
[INFO] finished tweaking git repo https://github.com/atom/xray
[INFO] tweaked toml for git repo https://github.com/atom/xray written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/atom/xray already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/atom/ripgrep`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mio-uds v0.6.4
[INFO] [stderr]   Downloaded parking_lot v0.5.4
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.2
[INFO] [stderr]   Downloaded same-file v1.0.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.3.2
[INFO] [stderr]   Downloaded diffs v0.3.0
[INFO] [stderr]   Downloaded walkdir v2.1.4
[INFO] [stderr]   Downloaded miow v0.3.1
[INFO] [stderr]   Downloaded bincode v1.0.0
[INFO] [stderr]   Downloaded criterion-plot v0.2.3
[INFO] [stderr]   Downloaded tokio-timer v0.2.1
[INFO] [stderr]   Downloaded backtrace v0.3.6
[INFO] [stderr]   Downloaded js-sys v0.3.2
[INFO] [stderr]   Downloaded tokio v0.1.5
[INFO] [stderr]   Downloaded regex-syntax v0.5.5
[INFO] [stderr]   Downloaded criterion v0.2.3
[INFO] [stderr]   Downloaded console_error_panic_hook v0.1.5
[INFO] [stderr]   Downloaded socket2 v0.3.5
[INFO] [stderr]   Downloaded syn v0.15.4
[INFO] [stderr]   Downloaded pest_derive v1.0.7
[INFO] [stderr]   Downloaded criterion-stats v0.2.3
[INFO] [stderr]   Downloaded parking_lot_core v0.2.13
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.33
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.33
[INFO] [stderr]   Downloaded tokio-process v0.1.5
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1643aa13c26e1fd7b268a6e8b2e44c5155844f1c077e79004992e42f43176181
[INFO] running `Command { std: "docker" "start" "-a" "1643aa13c26e1fd7b268a6e8b2e44c5155844f1c077e79004992e42f43176181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1643aa13c26e1fd7b268a6e8b2e44c5155844f1c077e79004992e42f43176181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1643aa13c26e1fd7b268a6e8b2e44c5155844f1c077e79004992e42f43176181", kill_on_drop: false }`
[INFO] [stdout] 1643aa13c26e1fd7b268a6e8b2e44c5155844f1c077e79004992e42f43176181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52d902225215ce421082c51a3963141a96d94616ec136f2941432c72b3fb3cd9
[INFO] running `Command { std: "docker" "start" "-a" "52d902225215ce421082c51a3963141a96d94616ec136f2941432c72b3fb3cd9", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.40
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling serde v1.0.80
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking futures v0.1.21
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking num-traits v0.2.2
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking itoa v0.4.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.13
[INFO] [stderr]     Checking lazycell v0.6.0
[INFO] [stderr]     Checking slab v0.4.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.33
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]    Compiling proc-macro2 v0.3.6
[INFO] [stderr]     Checking log v0.4.1
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]    Compiling regex v0.2.10
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking crossbeam-utils v0.3.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.5.5
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking stable_deref_trait v1.0.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking scoped-tls v0.1.1
[INFO] [stderr]    Compiling quote v0.5.1
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking net2 v0.2.32
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]    Compiling cc v1.0.10
[INFO] [stderr]    Compiling syn v0.13.1
[INFO] [stderr]     Checking seahash v3.0.5
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking time v0.1.39
[INFO] [stderr]     Checking rustc-demangle v0.1.7
[INFO] [stderr]     Checking mio v0.6.14
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking crossbeam-epoch v0.4.1
[INFO] [stderr]    Compiling pest v1.0.6
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking cast v0.2.2
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling syn v0.15.4
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking chrono v0.4.2
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking crossbeam-deque v0.3.0
[INFO] [stderr]     Checking atty v0.2.8
[INFO] [stderr]     Checking flatbuffers v0.5.0
[INFO] [stderr]     Checking term v0.5.1
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking parking_lot_core v0.2.13
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking diffs v0.3.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking tokio-executor v0.1.2
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking same-file v1.0.2
[INFO] [stderr]     Checking mio-uds v0.6.4
[INFO] [stderr]     Checking quick-error v1.2.1
[INFO] [stderr]     Checking parking_lot v0.5.4
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking tokio-timer v0.2.1
[INFO] [stderr]     Checking tokio-threadpool v0.1.2
[INFO] [stderr]     Checking thread-scoped v1.0.2
[INFO] [stderr]     Checking walkdir v2.1.4
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking itertools-num v0.1.1
[INFO] [stderr]     Checking criterion-stats v0.2.3
[INFO] [stderr]     Checking clap v2.31.2
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking crossbeam v0.3.2
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]     Checking simplelog v0.5.1
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]     Checking criterion-plot v0.2.3
[INFO] [stderr]    Compiling pest_derive v1.0.7
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]    Compiling serde_derive_internals v0.23.1
[INFO] [stderr]     Checking globset v0.3.0 (https://github.com/atom/ripgrep?branch=include_ignored#e3c5a61b)
[INFO] [stderr]    Compiling serde_derive v1.0.39
[INFO] [stderr]     Checking ignore v0.4.1 (https://github.com/atom/ripgrep?branch=include_ignored#e3c5a61b)
[INFO] [stderr]     Checking serde_json v1.0.15
[INFO] [stderr]     Checking bytes v0.4.6
[INFO] [stderr]     Checking bincode v1.0.0
[INFO] [stderr]     Checking uuid v0.7.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.33
[INFO] [stderr]     Checking tokio-io v0.1.6
[INFO] [stderr]     Checking tokio-reactor v0.1.1
[INFO] [stderr]     Checking tokio-udp v0.1.0
[INFO] [stderr]     Checking tokio-tcp v0.1.0
[INFO] [stderr]     Checking handlebars v0.31.0
[INFO] [stderr]     Checking tokio v0.1.5
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.33
[INFO] [stderr]     Checking tokio-signal v0.1.5
[INFO] [stderr]     Checking tokio-uds v0.1.7
[INFO] [stderr]     Checking tokio-process v0.1.5
[INFO] [stderr]     Checking xray_core v0.1.0 (/opt/rustwide/workdir/xray_core)
[INFO] [stderr]     Checking docopt v0.8.3
[INFO] [stderr]     Checking memo_core v0.1.0 (/opt/rustwide/workdir/memo_core)
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.33
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<dyn Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<dyn Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:440:53
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<dyn Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:457:17
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:461:14
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<dyn Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:520:15
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &GitProvider,
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &dyn GitProvider,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<dyn Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:962:17
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:963:29
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<dyn Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<dyn Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:440:53
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<dyn Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:457:17
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:461:14
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<dyn Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:520:15
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &GitProvider,
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &dyn GitProvider,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<dyn Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:962:17
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:963:29
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1920:49
[INFO] [stdout]      |
[INFO] [stdout] 1920 |         fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>> {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1920 |         fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1934:18
[INFO] [stdout]      |
[INFO] [stdout] 1934 |         ) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1934 |         ) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]      |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:228:41
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:228:41
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking xray_cli v0.1.0 (/opt/rustwide/workdir/xray_cli)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: WeakViewHandle<Self>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: serde_json::Value`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:54
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:131:51
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/buffer.rs:708:54
[INFO] [stdout]     |
[INFO] [stdout] 708 |                         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 write!(fmt, "{}: {}", error::Error::description(self), description)
[INFO] [stdout]    |                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |             _ => write!(fmt, "{}", error::Error::description(self)),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:322:43
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...                   error::Error::description(&error)
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/project.rs:715:38
[INFO] [stdout]     |
[INFO] [stdout] 715 |         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:47
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/app.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<fs::File>>,
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<dyn fs::File>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:327:27
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<dyn Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<dyn Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<LocalTree>,
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<dyn LocalTree>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<dyn Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<RawBytesService>>>,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<dyn RawBytesService>>>,
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<dyn Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/window.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<dyn View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<Workspace>>,
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<dyn Workspace>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<fs::LocalTree>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<dyn fs::LocalTree>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<fs::Tree>>,
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<dyn fs::Tree>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:226:14
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:339:37
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:345:14
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:359:14
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:689:42
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<fs::File>) {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<dyn fs::File>) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:693:38
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:479:25
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:99:41
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:179:38
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &Tree;
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &dyn Tree;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<dyn Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<dyn File>, Error = io::Error>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<dyn Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<LocalTree>) -> Self {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<dyn LocalTree>) -> Self {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<dyn Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:70:55
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<dyn Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:160:55
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<dyn Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:180:42
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<dyn Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:238:64
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<RawBytesService>>> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<dyn RawBytesService>>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/window.rs:250:57
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<dyn View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<Project>;
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<dyn Project>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<Project>;
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<dyn Project>;
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:94:37
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:122:37
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:153:70
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<dyn Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<dyn fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:353:14
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:131:51
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:710:26
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<dyn Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking js-sys v0.3.2
[INFO] [stderr]     Checking console_error_panic_hook v0.1.5
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<dyn Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:300:24
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<dyn Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:226:40
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...                   as Box<Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |                                 as Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:305:65
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<fs::Tree>);
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<dyn fs::Tree>);
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> xray_core/src/app.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(Rc<RefCell<RemoteWorkspace>>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 81 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking xray_server v0.1.0 (/opt/rustwide/workdir/xray_server)
[INFO] [stderr]     Checking xray_wasm v0.1.0 (/opt/rustwide/workdir/xray_wasm)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> xray_wasm/src/lib.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_wasm/src/lib.rs:48:46
[INFO] [stdout]    |
[INFO] [stdout] 48 |     futures: HashMap<usize, Rc<RefCell<Spawn<Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     futures: HashMap<usize, Rc<RefCell<Spawn<dyn Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> xray_wasm/src/lib.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_wasm/src/lib.rs:49:46
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pending: HashMap<usize, Rc<RefCell<Spawn<Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pending: HashMap<usize, Rc<RefCell<Spawn<dyn Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_wasm/src/lib.rs:358:14
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<dyn Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_wasm/src/lib.rs:358:32
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<dyn xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_wasm/src/lib.rs:48:46
[INFO] [stdout]    |
[INFO] [stdout] 48 |     futures: HashMap<usize, Rc<RefCell<Spawn<Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     futures: HashMap<usize, Rc<RefCell<Spawn<dyn Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_wasm/src/lib.rs:49:46
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pending: HashMap<usize, Rc<RefCell<Spawn<Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pending: HashMap<usize, Rc<RefCell<Spawn<dyn Future<Item = (), Error = ()>>>>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_wasm/src/lib.rs:358:14
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<dyn Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_wasm/src/lib.rs:358:32
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 358 |     ) -> Box<Future<Item = Box<dyn xray_core::fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:301:47
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn report_input_errors<S>(incoming: S) -> Box<Stream<Item = OutgoingMessage, Error = ()>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn report_input_errors<S>(incoming: S) -> Box<dyn Stream<Item = OutgoingMessage, Error = ()>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:163:14
[INFO] [stdout]     |
[INFO] [stdout] 163 |     ) -> Box<Future<Item = OutgoingMessage, Error = Never>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     ) -> Box<dyn Future<Item = OutgoingMessage, Error = Never>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn connect_to_peer(&self, address: SocketAddr) -> Box<Future<Item = (), Error = String>> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn connect_to_peer(&self, address: SocketAddr) -> Box<dyn Future<Item = (), Error = String>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn populated(&self) -> Box<Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:123:27
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_tree(&self) -> &xray_fs::Tree {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_tree(&self) -> &dyn xray_fs::Tree {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<dyn Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<dyn xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:174:27
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn read(&self) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ) -> Box<Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ) -> Box<dyn Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:301:47
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn report_input_errors<S>(incoming: S) -> Box<Stream<Item = OutgoingMessage, Error = ()>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn report_input_errors<S>(incoming: S) -> Box<dyn Stream<Item = OutgoingMessage, Error = ()>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:163:14
[INFO] [stdout]     |
[INFO] [stdout] 163 |     ) -> Box<Future<Item = OutgoingMessage, Error = Never>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     ) -> Box<dyn Future<Item = OutgoingMessage, Error = Never>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/server.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn connect_to_peer(&self, address: SocketAddr) -> Box<Future<Item = (), Error = String>> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn connect_to_peer(&self, address: SocketAddr) -> Box<dyn Future<Item = (), Error = String>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn populated(&self) -> Box<Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:123:27
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_tree(&self) -> &xray_fs::Tree {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_tree(&self) -> &dyn xray_fs::Tree {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<dyn Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ) -> Box<Future<Item = Box<dyn xray_fs::File>, Error = io::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:174:27
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn read(&self) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ) -> Box<Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ) -> Box<dyn Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking wasm-bindgen-futures v0.3.2
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_server/src/server.rs:255:31
[INFO] [stdout]     |
[INFO] [stdout] 255 |                         error.description(),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_server/src/server.rs:255:31
[INFO] [stdout]     |
[INFO] [stdout] 255 |                         error.description(),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:155:51
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 .map(|file| Box::new(file) as Box<xray_fs::File>),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 .map(|file| Box::new(file) as Box<dyn xray_fs::File>),
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_server/src/fs.rs:155:51
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 .map(|file| Box::new(file) as Box<xray_fs::File>),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 .map(|file| Box::new(file) as Box<dyn xray_fs::File>),
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking memo_js v0.1.0 (/opt/rustwide/workdir/memo_js)
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `macros_in_extern` has been stable since 1.40.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> memo_js/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(macros_in_extern)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `macros_in_extern` has been stable since 1.40.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> memo_js/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(macros_in_extern)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_js/src/lib.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |     ) -> Box<Stream<Item = memo::DirEntry, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 540 |     ) -> Box<dyn Stream<Item = memo::DirEntry, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_js/src/lib.rs:552:14
[INFO] [stdout]     |
[INFO] [stdout] 552 |     ) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 552 |     ) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_js/src/lib.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |     ) -> Box<Stream<Item = memo::DirEntry, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 540 |     ) -> Box<dyn Stream<Item = memo::DirEntry, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_js/src/lib.rs:552:14
[INFO] [stdout]     |
[INFO] [stdout] 552 |     ) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 552 |     ) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking backtrace v0.3.6
[INFO] [stderr]     Checking failure v0.1.1
[INFO] [stderr]     Checking criterion v0.2.3
[INFO] [stdout] warning: the item `futures` is imported redundantly
[INFO] [stdout]    --> xray_core/src/rpc/mod.rs:372:25
[INFO] [stdout]     |
[INFO] [stdout] 372 |                     use futures;
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: xray_core/src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout] 7   | extern crate futures;
[INFO] [stdout]     | --------------------- the item `futures` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: WeakViewHandle<Self>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: serde_json::Value`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:54
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/buffer.rs:708:54
[INFO] [stdout]     |
[INFO] [stdout] 708 |                         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 write!(fmt, "{}: {}", error::Error::description(self), description)
[INFO] [stdout]    |                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |             _ => write!(fmt, "{}", error::Error::description(self)),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:322:43
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...                   error::Error::description(&error)
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/project.rs:715:38
[INFO] [stdout]     |
[INFO] [stdout] 715 |         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:47
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/app.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<fs::File>>,
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<dyn fs::File>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:327:27
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<dyn Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<dyn Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<LocalTree>,
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<dyn LocalTree>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<dyn Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<RawBytesService>>>,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<dyn RawBytesService>>>,
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<dyn Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/window.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<dyn View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<Workspace>>,
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<dyn Workspace>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<fs::LocalTree>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<dyn fs::LocalTree>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<fs::Tree>>,
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<dyn fs::Tree>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:226:14
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:339:37
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:345:14
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:359:14
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:689:42
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<fs::File>) {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<dyn fs::File>) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:693:38
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:479:25
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:99:41
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:179:38
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &Tree;
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &dyn Tree;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<dyn Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<dyn File>, Error = io::Error>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<dyn Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<LocalTree>) -> Self {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<dyn LocalTree>) -> Self {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:427:34
[INFO] [stdout]     |
[INFO] [stdout] 427 |         fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 427 |         fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |         fn populated(&self) -> Box<Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 437 |         fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:451:31
[INFO] [stdout]     |
[INFO] [stdout] 451 |         fn as_tree(&self) -> &Tree {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 451 |         fn as_tree(&self) -> &dyn Tree {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:521:18
[INFO] [stdout]     |
[INFO] [stdout] 521 |         ) -> Box<Future<Item = Box<File>, Error = io::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |         ) -> Box<dyn Future<Item = Box<File>, Error = io::Error>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:521:36
[INFO] [stdout]     |
[INFO] [stdout] 521 |         ) -> Box<Future<Item = Box<File>, Error = io::Error>> {
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |         ) -> Box<Future<Item = Box<dyn File>, Error = io::Error>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:541:31
[INFO] [stdout]     |
[INFO] [stdout] 541 |         fn read(&self) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 541 |         fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 552 |         ) -> Box<Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 552 |         ) -> Box<dyn Future<Item = (), Error = io::Error>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<dyn Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:70:55
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<dyn Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:160:55
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<dyn Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:180:42
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<dyn Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:238:64
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<RawBytesService>>> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<dyn RawBytesService>>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/mod.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |         ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 351 |         ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/window.rs:250:57
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<dyn View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<Project>;
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<dyn Project>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<Project>;
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<dyn Project>;
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:94:37
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:122:37
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:153:70
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<dyn Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<dyn fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:353:14
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/stream_ext.rs:30:47
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn throttle<'a>(self, millis: u64) -> Box<'a + Stream<Item = Self::Item, Error = Self::Error>>
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn throttle<'a>(self, millis: u64) -> Box<dyn 'a + Stream<Item = Self::Item, Error = Self::Error>>
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:710:26
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<dyn Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:529:63
[INFO] [stdout]     |
[INFO] [stdout] 529 |                     .map(|file| Box::new(file.clone()) as Box<File>)
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 529 |                     .map(|file| Box::new(file.clone()) as Box<dyn File>)
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<dyn Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:300:24
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<dyn Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:226:40
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...                   as Box<Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |                                 as Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:305:65
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<fs::Tree>);
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<dyn fs::Tree>);
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> xray_core/src/app.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(Rc<RefCell<RemoteWorkspace>>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 92 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.97s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.3, syn v0.13.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "52d902225215ce421082c51a3963141a96d94616ec136f2941432c72b3fb3cd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52d902225215ce421082c51a3963141a96d94616ec136f2941432c72b3fb3cd9", kill_on_drop: false }`
[INFO] [stdout] 52d902225215ce421082c51a3963141a96d94616ec136f2941432c72b3fb3cd9
[INFO] checking atom/xray against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatom%2Fxray" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/atom/xray on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/atom/xray
[INFO] finished tweaking git repo https://github.com/atom/xray
[INFO] tweaked toml for git repo https://github.com/atom/xray written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/atom/xray already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e19d03c32bc73e8a6df09e7ef7554a8dfdec905c57ea343d68c00c0161a50d19
[INFO] running `Command { std: "docker" "start" "-a" "e19d03c32bc73e8a6df09e7ef7554a8dfdec905c57ea343d68c00c0161a50d19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e19d03c32bc73e8a6df09e7ef7554a8dfdec905c57ea343d68c00c0161a50d19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e19d03c32bc73e8a6df09e7ef7554a8dfdec905c57ea343d68c00c0161a50d19", kill_on_drop: false }`
[INFO] [stdout] e19d03c32bc73e8a6df09e7ef7554a8dfdec905c57ea343d68c00c0161a50d19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ac388e26fcf8055d32492976c8f19b83d8253914b0847eb1d28ffc9c362a127
[INFO] running `Command { std: "docker" "start" "-a" "7ac388e26fcf8055d32492976c8f19b83d8253914b0847eb1d28ffc9c362a127", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.40
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling serde v1.0.80
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking futures v0.1.21
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking num-traits v0.2.2
[INFO] [stderr]    Compiling proc-macro2 v0.3.6
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking itoa v0.4.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.13
[INFO] [stderr]     Checking slab v0.4.0
[INFO] [stderr]     Checking lazycell v0.6.0
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]     Checking log v0.4.1
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.33
[INFO] [stderr]    Compiling regex v0.2.10
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking regex-syntax v0.5.5
[INFO] [stderr]     Checking crossbeam-utils v0.3.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.5.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.33
[INFO] [stderr]     Checking stable_deref_trait v1.0.0
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking net2 v0.2.32
[INFO] [stderr]    Compiling syn v0.13.1
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking scoped-tls v0.1.1
[INFO] [stderr]    Compiling cc v1.0.10
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]     Checking seahash v3.0.5
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking mio v0.6.14
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking time v0.1.39
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]     Checking crossbeam-epoch v0.4.1
[INFO] [stderr]     Checking cast v0.2.2
[INFO] [stderr]     Checking rustc-demangle v0.1.7
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling syn v0.15.4
[INFO] [stderr]    Compiling pest v1.0.6
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking crossbeam-deque v0.3.0
[INFO] [stderr]     Checking chrono v0.4.2
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking atty v0.2.8
[INFO] [stderr]     Checking flatbuffers v0.5.0
[INFO] [stderr]     Checking term v0.5.1
[INFO] [stderr]     Checking parking_lot_core v0.2.13
[INFO] [stderr]     Checking thread-scoped v1.0.2
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking tokio-executor v0.1.2
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking same-file v1.0.2
[INFO] [stderr]     Checking diffs v0.3.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking parking_lot v0.5.4
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking tokio-timer v0.2.1
[INFO] [stderr]     Checking tokio-threadpool v0.1.2
[INFO] [stderr]     Checking mio-uds v0.6.4
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking quick-error v1.2.1
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking walkdir v2.1.4
[INFO] [stderr]     Checking criterion-stats v0.2.3
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]     Checking clap v2.31.2
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking itertools-num v0.1.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking crossbeam v0.3.2
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking criterion-plot v0.2.3
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]     Checking simplelog v0.5.1
[INFO] [stderr]    Compiling pest_derive v1.0.7
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]    Compiling serde_derive_internals v0.23.1
[INFO] [stderr]    Compiling serde_derive v1.0.39
[INFO] [stderr]     Checking globset v0.3.0 (https://github.com/atom/ripgrep?branch=include_ignored#e3c5a61b)
[INFO] [stderr]     Checking ignore v0.4.1 (https://github.com/atom/ripgrep?branch=include_ignored#e3c5a61b)
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.33
[INFO] [stderr]     Checking serde_json v1.0.15
[INFO] [stderr]     Checking bytes v0.4.6
[INFO] [stderr]     Checking bincode v1.0.0
[INFO] [stderr]     Checking uuid v0.7.1
[INFO] [stderr]     Checking tokio-io v0.1.6
[INFO] [stderr]     Checking tokio-reactor v0.1.1
[INFO] [stderr]     Checking handlebars v0.31.0
[INFO] [stderr]     Checking tokio-udp v0.1.0
[INFO] [stderr]     Checking tokio-tcp v0.1.0
[INFO] [stderr]     Checking tokio v0.1.5
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.33
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]     Checking tokio-signal v0.1.5
[INFO] [stderr]     Checking tokio-uds v0.1.7
[INFO] [stderr]     Checking xray_core v0.1.0 (/opt/rustwide/workdir/xray_core)
[INFO] [stderr]     Checking docopt v0.8.3
[INFO] [stderr]     Checking memo_core v0.1.0 (/opt/rustwide/workdir/memo_core)
[INFO] [stderr]     Checking tokio-process v0.1.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.33
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:579:61
[INFO] [stdout]     |
[INFO] [stdout] 579 | ...                   for summary in &child_summaries[0..new_index] {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:587:48
[INFO] [stdout]     |
[INFO] [stdout] 587 | ...                   for item in &items[0..new_index] {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:727:53
[INFO] [stdout]     |
[INFO] [stdout] 727 |                     for summary in &child_summaries[0..child_summaries.len() - 1] {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:736:40
[INFO] [stdout]     |
[INFO] [stdout] 736 |                     for item in &items[0..last_index] {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:365:36
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 old_1d_ranges.push(start.unwrap()..end.unwrap());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 end..start
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 start..end
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:641:21
[INFO] [stdout]     |
[INFO] [stdout] 641 |                     split_start..split_end,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1618:32
[INFO] [stdout]      |
[INFO] [stdout] 1618 |                         range: position..position,
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1632:32
[INFO] [stdout]      |
[INFO] [stdout] 1632 |                         range: position..position + &fragment.extent_2d(),
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1658:52
[INFO] [stdout]      |
[INFO] [stdout] 1658 |             self.position += &Text::extent(&self.a[old..old + len]);
[INFO] [stdout]      |                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1664:24
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 range: self.position..self.position + &Text::extent(&self.a[old..old + len]),
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1664:77
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 range: self.position..self.position + &Text::extent(&self.a[old..old + len]),
[INFO] [stdout]      |                                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1672:51
[INFO] [stdout]      |
[INFO] [stdout] 1672 |             let new_extent = Text::extent(&self.b[new..new + new_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1674:24
[INFO] [stdout]      |
[INFO] [stdout] 1674 |                 range: self.position..self.position,
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1675:47
[INFO] [stdout]      |
[INFO] [stdout] 1675 |                 code_units: Vec::from(&self.b[new..new + new_len]),
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1689:51
[INFO] [stdout]      |
[INFO] [stdout] 1689 |             let old_extent = Text::extent(&self.a[old..old + old_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1690:51
[INFO] [stdout]      |
[INFO] [stdout] 1690 |             let new_extent = Text::extent(&self.b[new..new + new_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1692:24
[INFO] [stdout]      |
[INFO] [stdout] 1692 |                 range: self.position..self.position + &old_extent,
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1693:47
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 code_units: Vec::from(&self.b[new..new + new_len]),
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1749:9
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         self.start.clone()..self.end.clone()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1796:39
[INFO] [stdout]      |
[INFO] [stdout] 1796 |             let lower = &line_lengths[0..mid];
[INFO] [stdout]      |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1797:39
[INFO] [stdout]      |
[INFO] [stdout] 1797 |             let upper = &line_lengths[mid + 1..];
[INFO] [stdout]      |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2012:17
[INFO] [stdout]      |
[INFO] [stdout] 2012 |                 start..end
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2143:41
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         &self.insertion.text.code_units[self.start_offset..self.end_offset]
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2214:39
[INFO] [stdout]      |
[INFO] [stdout] 2214 |                 .longest_row_in_range(self.start_offset as usize..self.end_offset as usize)
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2446:30
[INFO] [stdout]      |
[INFO] [stdout] 2446 |                     for i in 0..flatbufs.len() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:1616:26
[INFO] [stdout]      |
[INFO] [stdout] 1616 |                 for i in 0..op_messages.len() {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/time.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 |         bytes[0..8].copy_from_slice(unsafe { &mem::transmute::<u64, [u8; 8]>(self.value.to_be()) });
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/time.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |         bytes[8..24].copy_from_slice(self.replica_id.as_bytes());
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/work_tree.rs:851:21
[INFO] [stdout]     |
[INFO] [stdout] 851 |         bytes.drain(0..first_valid_byte_index);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1069:34
[INFO] [stdout]      |
[INFO] [stdout] 1069 | ...                   Some(0..0),
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |             for i in 0..8 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:57:61
[INFO] [stdout]    |
[INFO] [stdout] 57 |         serialization::ReplicaId::new(u64_from_bytes(&bytes[0..8]), u64_from_bytes(&bytes[8..16]))
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:57:91
[INFO] [stdout]    |
[INFO] [stdout] 57 |         serialization::ReplicaId::new(u64_from_bytes(&bytes[0..8]), u64_from_bytes(&bytes[8..16]))
[INFO] [stdout]    |                                                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |             for i in 0..8 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |         bytes[0..8].copy_from_slice(&bytes_from_u64(message.first_8_bytes()));
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |         bytes[8..16].copy_from_slice(&bytes_from_u64(message.last_8_bytes()));
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:579:61
[INFO] [stdout]     |
[INFO] [stdout] 579 | ...                   for summary in &child_summaries[0..new_index] {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:587:48
[INFO] [stdout]     |
[INFO] [stdout] 587 | ...                   for item in &items[0..new_index] {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:727:53
[INFO] [stdout]     |
[INFO] [stdout] 727 |                     for summary in &child_summaries[0..child_summaries.len() - 1] {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/btree.rs:736:40
[INFO] [stdout]     |
[INFO] [stdout] 736 |                     for item in &items[0..last_index] {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1065:22
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         tree1.extend(0..20);
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1068:22
[INFO] [stdout]      |
[INFO] [stdout] 1068 |         tree2.extend(50..100);
[INFO] [stdout]      |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1071:36
[INFO] [stdout]      |
[INFO] [stdout] 1071 |         assert_eq!(tree1.items(), (0..20).chain(50..100).collect::<Vec<u8>>());
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1071:49
[INFO] [stdout]      |
[INFO] [stdout] 1071 |         assert_eq!(tree1.items(), (0..20).chain(50..100).collect::<Vec<u8>>());
[INFO] [stdout]      |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1076:21
[INFO] [stdout]      |
[INFO] [stdout] 1076 |         for seed in 0..100 {
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1085:22
[INFO] [stdout]      |
[INFO] [stdout] 1085 |             for _ in 0..5 {
[INFO] [stdout]      |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1093:40
[INFO] [stdout]      |
[INFO] [stdout] 1093 |                 reference_items.splice(splice_start..splice_end, new_items.clone());
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/btree.rs:1122:26
[INFO] [stdout]      |
[INFO] [stdout] 1122 |                 for i in 0..10 {
[INFO] [stdout]      |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:365:36
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 old_1d_ranges.push(start.unwrap()..end.unwrap());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 end..start
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 start..end
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/buffer.rs:641:21
[INFO] [stdout]     |
[INFO] [stdout] 641 |                     split_start..split_end,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1618:32
[INFO] [stdout]      |
[INFO] [stdout] 1618 |                         range: position..position,
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1632:32
[INFO] [stdout]      |
[INFO] [stdout] 1632 |                         range: position..position + &fragment.extent_2d(),
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1658:52
[INFO] [stdout]      |
[INFO] [stdout] 1658 |             self.position += &Text::extent(&self.a[old..old + len]);
[INFO] [stdout]      |                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1664:24
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 range: self.position..self.position + &Text::extent(&self.a[old..old + len]),
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1664:77
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 range: self.position..self.position + &Text::extent(&self.a[old..old + len]),
[INFO] [stdout]      |                                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1672:51
[INFO] [stdout]      |
[INFO] [stdout] 1672 |             let new_extent = Text::extent(&self.b[new..new + new_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1674:24
[INFO] [stdout]      |
[INFO] [stdout] 1674 |                 range: self.position..self.position,
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1675:47
[INFO] [stdout]      |
[INFO] [stdout] 1675 |                 code_units: Vec::from(&self.b[new..new + new_len]),
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1689:51
[INFO] [stdout]      |
[INFO] [stdout] 1689 |             let old_extent = Text::extent(&self.a[old..old + old_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1690:51
[INFO] [stdout]      |
[INFO] [stdout] 1690 |             let new_extent = Text::extent(&self.b[new..new + new_len]);
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1692:24
[INFO] [stdout]      |
[INFO] [stdout] 1692 |                 range: self.position..self.position + &old_extent,
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1693:47
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 code_units: Vec::from(&self.b[new..new + new_len]),
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1749:9
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         self.start.clone()..self.end.clone()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1796:39
[INFO] [stdout]      |
[INFO] [stdout] 1796 |             let lower = &line_lengths[0..mid];
[INFO] [stdout]      |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:1797:39
[INFO] [stdout]      |
[INFO] [stdout] 1797 |             let upper = &line_lengths[mid + 1..];
[INFO] [stdout]      |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2012:17
[INFO] [stdout]      |
[INFO] [stdout] 2012 |                 start..end
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2143:41
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         &self.insertion.text.code_units[self.start_offset..self.end_offset]
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2214:39
[INFO] [stdout]      |
[INFO] [stdout] 2214 |                 .longest_row_in_range(self.start_offset as usize..self.end_offset as usize)
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2446:30
[INFO] [stdout]      |
[INFO] [stdout] 2446 |                     for i in 0..flatbufs.len() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2490:26
[INFO] [stdout]      |
[INFO] [stdout] 2490 |         buffer.edit(vec![3..3], "def", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2492:26
[INFO] [stdout]      |
[INFO] [stdout] 2492 |         buffer.edit(vec![0..0], "ghi", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2494:26
[INFO] [stdout]      |
[INFO] [stdout] 2494 |         buffer.edit(vec![5..5], "jkl", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2496:26
[INFO] [stdout]      |
[INFO] [stdout] 2496 |         buffer.edit(vec![6..7], "", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2498:26
[INFO] [stdout]      |
[INFO] [stdout] 2498 |         buffer.edit(vec![4..9], "mno", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2504:21
[INFO] [stdout]      |
[INFO] [stdout] 2504 |         for seed in 0..100 {
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2517:23
[INFO] [stdout]      |
[INFO] [stdout] 2517 |             for _i in 0..10 {
[INFO] [stdout]      |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2522:43
[INFO] [stdout]      |
[INFO] [stdout] 2522 |                         &reference_string[0..old_range.start],
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2524:43
[INFO] [stdout]      |
[INFO] [stdout] 2524 |                         &reference_string[old_range.end..],
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2556:18
[INFO] [stdout]      |
[INFO] [stdout] 2556 |             vec![0..0],
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2562:18
[INFO] [stdout]      |
[INFO] [stdout] 2562 |             vec![12..12],
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2568:18
[INFO] [stdout]      |
[INFO] [stdout] 2568 |             vec![18..18],
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2573:26
[INFO] [stdout]      |
[INFO] [stdout] 2573 |         buffer.edit(vec![18..21], "\nPQ", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2592:18
[INFO] [stdout]      |
[INFO] [stdout] 2592 |             vec![0..0],
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2599:18
[INFO] [stdout]      |
[INFO] [stdout] 2599 |             vec![12..12],
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2605:26
[INFO] [stdout]      |
[INFO] [stdout] 2605 |         buffer.edit(vec![18..18], "\npqrs", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2607:26
[INFO] [stdout]      |
[INFO] [stdout] 2607 |         buffer.edit(vec![10..12], "", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2609:26
[INFO] [stdout]      |
[INFO] [stdout] 2609 |         buffer.edit(vec![24..24], "tuv", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2620:18
[INFO] [stdout]      |
[INFO] [stdout] 2620 |             vec![0..0],
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2626:18
[INFO] [stdout]      |
[INFO] [stdout] 2626 |             vec![12..12],
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2631:26
[INFO] [stdout]      |
[INFO] [stdout] 2631 |         buffer.edit(vec![18..18], "\npqrs", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2632:26
[INFO] [stdout]      |
[INFO] [stdout] 2632 |         buffer.edit(vec![18..21], "\nPQ", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2675:26
[INFO] [stdout]      |
[INFO] [stdout] 2675 | ...   buffer.edit(vec![0..0], "[workspace]\nmembers = [\n    \"xray_core\",\n    \"xray_server\",\n    \"xray_cli\",\n    \"xray_wasm\",\...
[INFO] [stdout]      |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2676:26
[INFO] [stdout]      |
[INFO] [stdout] 2676 |         buffer.edit(vec![60..60], "\n", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2740:21
[INFO] [stdout]      |
[INFO] [stdout] 2740 |         for seed in 0..100 {
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2748:23
[INFO] [stdout]      |
[INFO] [stdout] 2748 |             for _i in 0..10 {
[INFO] [stdout]      |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2752:42
[INFO] [stdout]      |
[INFO] [stdout] 2752 |                 let mut cur_row = string[0..start].chars().filter(|c| *c == '\n').count() as u32;
[INFO] [stdout]      |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2756:34
[INFO] [stdout]      |
[INFO] [stdout] 2756 |                 for ch in string[start..end].chars() {
[INFO] [stdout]      |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2774:47
[INFO] [stdout]      |
[INFO] [stdout] 2774 |                     text.longest_row_in_range(start..end),
[INFO] [stdout]      |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2783:21
[INFO] [stdout]      |
[INFO] [stdout] 2783 |         for seed in 0..10 {
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2788:23
[INFO] [stdout]      |
[INFO] [stdout] 2788 |             for _i in 0..100 {
[INFO] [stdout]      |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2808:26
[INFO] [stdout]      |
[INFO] [stdout] 2808 |         buffer.edit(vec![0..0], "abc", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2812:26
[INFO] [stdout]      |
[INFO] [stdout] 2812 |         buffer.edit(vec![1..1], "def\n", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2825:26
[INFO] [stdout]      |
[INFO] [stdout] 2825 |         buffer.edit(vec![2..3], "", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2838:26
[INFO] [stdout]      |
[INFO] [stdout] 2838 |         buffer.edit(vec![5..5], "ghi\n", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2851:26
[INFO] [stdout]      |
[INFO] [stdout] 2851 |         buffer.edit(vec![7..9], "", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2956:26
[INFO] [stdout]      |
[INFO] [stdout] 2956 |         buffer.edit(vec![0..0], "abc", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2964:26
[INFO] [stdout]      |
[INFO] [stdout] 2964 |         buffer.edit(vec![3..3], "def", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2965:26
[INFO] [stdout]      |
[INFO] [stdout] 2965 |         buffer.edit(vec![0..0], "ghi", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2981:26
[INFO] [stdout]      |
[INFO] [stdout] 2981 |         buffer.edit(vec![1..2], "", &mut local_clock, &mut lamport_clock);
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:2991:21
[INFO] [stdout]      |
[INFO] [stdout] 2991 |         for seed in 0..50 {
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3003:22
[INFO] [stdout]      |
[INFO] [stdout] 3003 |             for i in 0..PEERS {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3039:36
[INFO] [stdout]      |
[INFO] [stdout] 3039 |             for buffer in &buffers[1..] {
[INFO] [stdout]      |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3079:22
[INFO] [stdout]      |
[INFO] [stdout] 3079 |             for _ in 0..5 {
[INFO] [stdout]      |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3086:33
[INFO] [stdout]      |
[INFO] [stdout] 3086 |                 old_ranges.push(start..end);
[INFO] [stdout]      |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3116:26
[INFO] [stdout]      |
[INFO] [stdout] 3116 |                 for _ in 0..5 {
[INFO] [stdout]      |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/buffer.rs:3121:33
[INFO] [stdout]      |
[INFO] [stdout] 3121 |                     ranges.push(start_point..end_point);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:1616:26
[INFO] [stdout]      |
[INFO] [stdout] 1616 |                 for i in 0..op_messages.len() {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2152:28
[INFO] [stdout]      |
[INFO] [stdout] 2152 |         epoch.edit(c, Some(0..0), "x", &mut lamport_clock).unwrap();
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2158:28
[INFO] [stdout]      |
[INFO] [stdout] 2158 |         epoch.edit(g, Some(0..0), "y", &mut lamport_clock).unwrap();
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2314:46
[INFO] [stdout]      |
[INFO] [stdout] 2314 |         let ops = epoch_2.edit(file_id, vec![1..2, 3..3], "x", &mut lamport_clock_2);
[INFO] [stdout]      |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2314:52
[INFO] [stdout]      |
[INFO] [stdout] 2314 |         let ops = epoch_2.edit(file_id, vec![1..2, 3..3], "x", &mut lamport_clock_2);
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2325:46
[INFO] [stdout]      |
[INFO] [stdout] 2325 |         let ops = epoch_1.edit(file_id, vec![1..2, 4..4], "y", &mut lamport_clock_1);
[INFO] [stdout]      |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2325:52
[INFO] [stdout]      |
[INFO] [stdout] 2325 |         let ops = epoch_1.edit(file_id, vec![1..2, 4..4], "y", &mut lamport_clock_1);
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2338:38
[INFO] [stdout]      |
[INFO] [stdout] 2338 |         assert_eq!(changes[0].range, Point::new(0, 1)..Point::new(0, 2));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2340:38
[INFO] [stdout]      |
[INFO] [stdout] 2340 |         assert_eq!(changes[1].range, Point::new(0, 4)..Point::new(0, 4));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2357:52
[INFO] [stdout]      |
[INFO] [stdout] 2357 |         let edit_1_op = epoch_1.edit(file_id, Some(0..0), "135", &mut clock_1)?;
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2358:52
[INFO] [stdout]      |
[INFO] [stdout] 2358 |         let edit_2_op = epoch_1.edit(file_id, Some(1..1), "2", &mut clock_1)?;
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2359:52
[INFO] [stdout]      |
[INFO] [stdout] 2359 |         let edit_3_op = epoch_1.edit(file_id, Some(3..3), "4", &mut clock_1)?;
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2395:21
[INFO] [stdout]      |
[INFO] [stdout] 2395 |         for seed in 0..100 {
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2422:22
[INFO] [stdout]      |
[INFO] [stdout] 2422 |             for i in 0..PEERS {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2432:22
[INFO] [stdout]      |
[INFO] [stdout] 2432 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2443:75
[INFO] [stdout]      |
[INFO] [stdout] 2443 |                         .append_base_entries(base_entries_to_append.drain(0..count), lamport_clock)
[INFO] [stdout]      |                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2468:38
[INFO] [stdout]      |
[INFO] [stdout] 2468 |                 for replica_index in 0..PEERS {
[INFO] [stdout]      |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2494:22
[INFO] [stdout]      |
[INFO] [stdout] 2494 |             for i in 0..PEERS {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2498:22
[INFO] [stdout]      |
[INFO] [stdout] 2498 |             for i in 0..PEERS - 1 {
[INFO] [stdout]      |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2506:22
[INFO] [stdout]      |
[INFO] [stdout] 2506 |             for i in 0..PEERS {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2507:26
[INFO] [stdout]      |
[INFO] [stdout] 2507 |                 for _ in 0..rng.gen_range(0, 5) {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2577:22
[INFO] [stdout]      |
[INFO] [stdout] 2577 |             for _ in 0..count {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2692:18
[INFO] [stdout]      |
[INFO] [stdout] 2692 |         for _ in 0..rng.gen_range(1, 4) {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/epoch.rs:2696:22
[INFO] [stdout]      |
[INFO] [stdout] 2696 |             for _ in 0..rng.gen_range(1, 2) {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/time.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 |         bytes[0..8].copy_from_slice(unsafe { &mem::transmute::<u64, [u8; 8]>(self.value.to_be()) });
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/time.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |         bytes[8..24].copy_from_slice(self.replica_id.as_bytes());
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/work_tree.rs:851:21
[INFO] [stdout]     |
[INFO] [stdout] 851 |         bytes.drain(0..first_valid_byte_index);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1069:34
[INFO] [stdout]      |
[INFO] [stdout] 1069 | ...                   Some(0..0),
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1209:21
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         for seed in 0..100 {
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1216:22
[INFO] [stdout]      |
[INFO] [stdout] 1216 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1227:22
[INFO] [stdout]      |
[INFO] [stdout] 1227 |             for i in 0..PEERS {
[INFO] [stdout]      |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1252:22
[INFO] [stdout]      |
[INFO] [stdout] 1252 |             for _ in 0..10 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1282:38
[INFO] [stdout]      |
[INFO] [stdout] 1282 |                 for replica_index in 0..PEERS {
[INFO] [stdout]      |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1295:34
[INFO] [stdout]      |
[INFO] [stdout] 1295 |             for replica_index in 0..PEERS - 1 {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1304:34
[INFO] [stdout]      |
[INFO] [stdout] 1304 |             for replica_index in 0..PEERS {
[INFO] [stdout]      |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1327:37
[INFO] [stdout]      |
[INFO] [stdout] 1327 |         base_tree.edit(a_base, Some(0..0), "abc").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1330:37
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         base_tree.edit(a_base, Some(1..2), "def").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1334:37
[INFO] [stdout]      |
[INFO] [stdout] 1334 |         base_tree.edit(a_base, Some(2..3), "ghi").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1426:37
[INFO] [stdout]      |
[INFO] [stdout] 1426 |         base_tree.edit(a_base, Some(0..0), "def\njkl").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1429:37
[INFO] [stdout]      |
[INFO] [stdout] 1429 |         base_tree.edit(a_base, Some(0..0), "abc\n").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1430:37
[INFO] [stdout]      |
[INFO] [stdout] 1430 |         base_tree.edit(a_base, Some(8..8), "ghi\n").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1453:42
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             .add_selection_set(a_1, vec![Point::new(1, 1)..Point::new(1, 1)])
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1458:42
[INFO] [stdout]      |
[INFO] [stdout] 1458 |             .add_selection_set(a_2, vec![Point::new(0, 0)..Point::new(0, 0)])
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1470:33
[INFO] [stdout]      |
[INFO] [stdout] 1470 |             vec![(a_1_set, vec![Point::new(1, 1)..Point::new(1, 1)])]
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1476:27
[INFO] [stdout]      |
[INFO] [stdout] 1476 |                 vec![vec![Point::new(0, 0)..Point::new(0, 0)]]
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1489:33
[INFO] [stdout]      |
[INFO] [stdout] 1489 |             vec![(a_2_set, vec![Point::new(0, 0)..Point::new(0, 0)])]
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1495:27
[INFO] [stdout]      |
[INFO] [stdout] 1495 |                 vec![vec![Point::new(1, 1)..Point::new(1, 1)]]
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1503:33
[INFO] [stdout]      |
[INFO] [stdout] 1503 |             vec![(a_1_set, vec![Point::new(3, 1)..Point::new(3, 1)])]
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1519:33
[INFO] [stdout]      |
[INFO] [stdout] 1519 |             vec![(a_2_set, vec![Point::new(0, 0)..Point::new(0, 0)])]
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1525:27
[INFO] [stdout]      |
[INFO] [stdout] 1525 |                 vec![vec![Point::new(3, 1)..Point::new(3, 1)]]
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1538:33
[INFO] [stdout]      |
[INFO] [stdout] 1538 |             vec![(a_1_set, vec![Point::new(3, 1)..Point::new(3, 1)])]
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1544:27
[INFO] [stdout]      |
[INFO] [stdout] 1544 |                 vec![vec![Point::new(0, 0)..Point::new(0, 0)]]
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1648:37
[INFO] [stdout]      |
[INFO] [stdout] 1648 |         base_tree.edit(a_base, Some(0..0), "abc").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1651:37
[INFO] [stdout]      |
[INFO] [stdout] 1651 |         base_tree.edit(a_base, Some(1..2), "def").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1655:37
[INFO] [stdout]      |
[INFO] [stdout] 1655 |         base_tree.edit(a_base, Some(2..3), "ghi").unwrap();
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1791:22
[INFO] [stdout]      |
[INFO] [stdout] 1791 |             for _ in 0..rng.gen_range(0, count) {
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |             for i in 0..8 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:57:61
[INFO] [stdout]    |
[INFO] [stdout] 57 |         serialization::ReplicaId::new(u64_from_bytes(&bytes[0..8]), u64_from_bytes(&bytes[8..16]))
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:57:91
[INFO] [stdout]    |
[INFO] [stdout] 57 |         serialization::ReplicaId::new(u64_from_bytes(&bytes[0..8]), u64_from_bytes(&bytes[8..16]))
[INFO] [stdout]    |                                                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |             for i in 0..8 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |         bytes[0..8].copy_from_slice(&bytes_from_u64(message.first_8_bytes()));
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> memo_core/src/lib.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |         bytes[8..16].copy_from_slice(&bytes_from_u64(message.last_8_bytes()));
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/lib.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         for _ in 0..rng.gen_range(1, 4) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> memo_core/src/lib.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 .drain(0..count)
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<dyn Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<dyn Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:440:53
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<dyn Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:457:17
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:461:14
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<dyn Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:520:15
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &GitProvider,
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &dyn GitProvider,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<dyn Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:962:17
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:963:29
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     future: MaybeDone<Box<dyn Future<Item = String, Error = io::Error>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<GitProvider>,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     git: Rc<dyn GitProvider>,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> memo_core/src/work_tree.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn base_text(&self, oid: Oid, path: &Path) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 |     ) -> Box<dyn Stream<Item = OperationEnvelope, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:440:53
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub fn open_text_file<P>(&self, path: P) -> Box<dyn Future<Item = BufferId, Error = Error>>
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:457:17
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 457 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:461:14
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 461 |     ) -> Box<dyn Future<Item = BufferId, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:520:15
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &GitProvider,
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |         git: &dyn GitProvider,
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 521 |     ) -> Box<dyn Future<Item = (FileId, String), Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:962:17
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<GitProvider>,
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 962 |         git: Rc<dyn GitProvider>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:963:29
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<ChangeObserver>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 963 |         observer: Option<Rc<dyn ChangeObserver>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1920:49
[INFO] [stdout]      |
[INFO] [stdout] 1920 |         fn base_entries(&self, oid: Oid) -> Box<Stream<Item = DirEntry, Error = io::Error>> {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1920 |         fn base_entries(&self, oid: Oid) -> Box<dyn Stream<Item = DirEntry, Error = io::Error>> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> memo_core/src/work_tree.rs:1934:18
[INFO] [stdout]      |
[INFO] [stdout] 1934 |         ) -> Box<Future<Item = String, Error = io::Error>> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1934 |         ) -> Box<dyn Future<Item = String, Error = io::Error>> {
[INFO] [stdout]      |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking xray_cli v0.1.0 (/opt/rustwide/workdir/xray_cli)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:228:41
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:228:41
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 fixup_ops_stream as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/buffer.rs:952:19
[INFO] [stdout]     |
[INFO] [stdout] 952 |         for i in (0..self.operation_txs.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:1034:21
[INFO] [stdout]      |
[INFO] [stdout] 1034 |                     split_start..split_end,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:1751:29
[INFO] [stdout]      |
[INFO] [stdout] 1751 |                 let range = fragment.start_offset..fragment.end_offset;
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:1996:9
[INFO] [stdout]      |
[INFO] [stdout] 1996 |         self.start.clone()..self.end.clone()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:2016:39
[INFO] [stdout]      |
[INFO] [stdout] 2016 |             let lower = &line_lengths[0..mid];
[INFO] [stdout]      |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:2017:39
[INFO] [stdout]      |
[INFO] [stdout] 2017 |             let upper = &line_lengths[mid + 1..];
[INFO] [stdout]      |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:2216:17
[INFO] [stdout]      |
[INFO] [stdout] 2216 |                 start..end
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer.rs:2456:39
[INFO] [stdout]      |
[INFO] [stdout] 2456 |                 .longest_row_in_range(self.start_offset..self.end_offset)
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:191:40
[INFO] [stdout]     |
[INFO] [stdout] 191 |                     offset_ranges.push(start..end);
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:886:25
[INFO] [stdout]     |
[INFO] [stdout] 886 |             &selections[start_index..]
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:896:25
[INFO] [stdout]     |
[INFO] [stdout] 896 |             &selections[start_index..end_index]
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:911:34
[INFO] [stdout]     |
[INFO] [stdout] 911 |         self.autoscroll_to_range(anchor.clone()..anchor, center)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:919:13
[INFO] [stdout]     |
[INFO] [stdout] 919 |             selection.start.clone()..selection.end.clone()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> xray_core/src/buffer_view.rs:1056:50
[INFO] [stdout]      |
[INFO] [stdout] 1056 |             "selections": self.render_selections(start..end),
[INFO] [stdout]      |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn will_mount(&mut self, &mut Window, WeakViewHandle<Self>)
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: WeakViewHandle<Self>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: serde_json::Value`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> xray_core/src/window.rs:22:54
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn dispatch_action(&mut self, serde_json::Value, &mut Window) {}
[INFO] [stdout]    |                                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Window`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> xray_core/src/fuzzy.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for i in 0..needle_len {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |             for j in haystack_start..haystack_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |             for i in (0..needle_len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for row in 0..self.rows {
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:220:24
[INFO] [stdout]     |
[INFO] [stdout] 220 |             for col in 0..self.cols {
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:243:19
[INFO] [stdout]     |
[INFO] [stdout] 243 |         for ch in b'A'..b'Z' {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:247:19
[INFO] [stdout]     |
[INFO] [stdout] 247 |         for ch in b'a'..b'z' {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:251:19
[INFO] [stdout]     |
[INFO] [stdout] 251 |         for ch in b'0'..b'9' {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/fuzzy.rs:271:19
[INFO] [stdout]     |
[INFO] [stdout] 271 |         for ch in b'a'..b'z' {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/project.rs:236:51
[INFO] [stdout]     |
[INFO] [stdout] 236 | ...                   buffer.edit(&[0..0], content.as_str());
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/tree.rs:471:57
[INFO] [stdout]     |
[INFO] [stdout] 471 |                         for child in &parent.children()[0..*index] {
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> xray_core/src/tree.rs:529:51
[INFO] [stdout]     |
[INFO] [stdout] 529 |                     for child in &tree.children()[0..children.len() - 1] {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:131:51
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/buffer.rs:708:54
[INFO] [stdout]     |
[INFO] [stdout] 708 |                         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 write!(fmt, "{}: {}", error::Error::description(self), description)
[INFO] [stdout]    |                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> xray_core/src/rpc/mod.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |             _ => write!(fmt, "{}", error::Error::description(self)),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:322:43
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...                   error::Error::description(&error)
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> xray_core/src/project.rs:715:38
[INFO] [stdout]     |
[INFO] [stdout] 715 |         Error::IoError(error::Error::description(&error).to_owned())
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type ForegroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<dyn Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/lib.rs:54:47
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type BackgroundExecutor = Rc<Executor<Box<dyn Future<Item = (), Error = ()> + Send + 'static>>>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/app.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<fs::File>>,
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     file: Option<Box<dyn fs::File>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:327:27
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 327 |         outgoing_ops: Box<dyn Stream<Item = Arc<Operation>, Error = ()>>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     updates_rx: Box<dyn Stream<Item = (), Error = ()>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<LocalTree>,
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     tree: Rc<dyn LocalTree>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     populated: Option<Box<dyn Future<Item = (), Error = ()>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<RawBytesService>>>,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     services: HashMap<ServiceId, Rc<RefCell<dyn RawBytesService>>>,
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     incoming: Box<dyn Stream<Item = Bytes, Error = io::Error>>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Rc<RefCell<FuturesUnordered<Box<dyn Future<Item = ResponseEnvelope, Error = Never>>>>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/window.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     views: HashMap<ViewId, Rc<RefCell<dyn View<Item = (), Error = ()>>>>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<Workspace>>,
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     workspace: Rc<RefCell<dyn Workspace>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<fs::FileProvider>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     file_provider: Rc<dyn fs::FileProvider>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<fs::LocalTree>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     trees: HashMap<TreeId, Rc<dyn fs::LocalTree>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<fs::Tree>>,
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     trees: HashMap<TreeId, Box<dyn fs::Tree>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:226:14
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     ) -> Box<dyn Future<Item = client::Connection, Error = rpc::Error>>
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:339:37
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, rpc::Error> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:345:14
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 345 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:359:14
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 359 |     ) -> Box<dyn Future<Item = Option<RemoteWorkspace>, Error = WorkspaceOpenError>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/app.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:689:42
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<fs::File>) {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn set_file(&mut self, file: Box<dyn fs::File>) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:693:38
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:479:25
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 479 |         ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/buffer_view.rs:99:41
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<BufferViewDelegate>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |         delegate: Option<WeakViewHandle<dyn BufferViewDelegate>>,
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:179:38
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn save(&self) -> Option<Box<dyn Future<Item = (), Error = buffer::Error>>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn populated(&self) -> Box<dyn Future<Item = (), Error = ()>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &Tree;
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn as_tree(&self) -> &dyn Tree;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<dyn Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<File>, Error = io::Error>>;
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         -> Box<Future<Item = Box<dyn File>, Error = io::Error>>;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn read(&self) -> Box<dyn Future<Item = String, Error = io::Error>>;
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/fs.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         -> Box<dyn Future<Item = (), Error = io::Error>>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<LocalTree>) -> Self {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn new(tree: Rc<dyn LocalTree>) -> Self {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/fs.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 288 |     fn updates(&self) -> Box<dyn Stream<Item = (), Error = ()>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ) -> Result<Box<dyn Future<Item = T::Response, Error = Error>>, Error> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = T::Update, Error = ()>>, Error> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/client.rs:70:55
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn request(&self, request: T::Request) -> Box<dyn Future<Item = T::Response, Error = Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn updates(&self) -> Result<Box<dyn Stream<Item = (), Error = ()>>, Error> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:160:55
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn request(&self, request: S::Request) -> Box<dyn Future<Item = S::Response, Error = Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:180:42
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn new<S, B>(incoming: S) -> Box<dyn Future<Item = (Self, Service<B>), Error = Error>>
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/rpc/server.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:238:64
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<RawBytesService>>> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn take_service(&self, id: ServiceId) -> Option<Rc<RefCell<dyn RawBytesService>>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     ) -> Option<Box<dyn Future<Item = Bytes, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/window.rs:250:57
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn get_view(&self, id: ViewId) -> Option<Rc<RefCell<dyn View<Item = (), Error = ()>>>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<Project>;
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn project(&self) -> Ref<dyn Project>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<Project>;
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn project_mut(&self) -> RefMut<dyn Project>;
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/workspace.rs:94:37
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<Project> {
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn project(&self) -> Ref<dyn Project> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:122:37
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<Project> {
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn project_mut(&self) -> RefMut<dyn Project> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/workspace.rs:153:70
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new(foreground: ForegroundExecutor, workspace: Rc<RefCell<dyn Workspace>>) -> Self {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> xray_core/src/project.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>>;
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn new<T>(file_provider: Rc<dyn fs::FileProvider>, trees: Vec<T>) -> Self
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 253 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 320 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:353:14
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 353 |     ) -> Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = Error>> {
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:447:21
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 447 |     ) -> Option<Box<dyn Future<Item = Self::Response, Error = Never>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Box::new(tree.reset(base)) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:131:51
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |             Box::new(tree.apply_ops(ops)?) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> memo_core/src/work_tree.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ) as Box<dyn Stream<Item = OperationEnvelope, Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking js-sys v0.3.2
[INFO] [stderr]     Checking console_error_panic_hook v0.1.5
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/buffer.rs:710:26
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 710 |                 ) as Box<dyn Future<Item = (), Error = Error>>
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> memo_core/src/buffer.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub range: Range<Point>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> memo_core/src/work_tree.rs:70:49
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub local: HashMap<LocalSelectionSetId, Vec<Range<Point>>>,
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> memo_core/src/work_tree.rs:71:44
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub remote: HashMap<ReplicaId, Vec<Vec<Range<Point>>>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 60 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `memo_core` (lib) due to 4 previous errors; 60 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/client.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 as Box<dyn Stream<Item = (), Error = ()>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/rpc/server.rs:300:24
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 as Box<dyn Future<Item = Bytes, Error = Never>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:226:40
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...                   as Box<Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 226 |                                 as Box<dyn Future<Item = Rc<RefCell<Buffer>>, Error = io::Error>>
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> xray_core/src/project.rs:305:65
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<fs::Tree>);
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |             trees.insert(*tree_id, Box::new(remote_tree) as Box<dyn fs::Tree>);
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 170 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> xray_core/src/app.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(Rc<RefCell<RemoteWorkspace>>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Remote(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> xray_core/src/buffer_view.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |         range: Range<buffer::Anchor>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 107 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `xray_core` (lib) due to 2 previous errors; 107 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7ac388e26fcf8055d32492976c8f19b83d8253914b0847eb1d28ffc9c362a127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ac388e26fcf8055d32492976c8f19b83d8253914b0847eb1d28ffc9c362a127", kill_on_drop: false }`
[INFO] [stdout] 7ac388e26fcf8055d32492976c8f19b83d8253914b0847eb1d28ffc9c362a127
